package com.ccjt.efcfs.cal;

import com.ccjt.efcfs.dto.RepayPlanCal;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public interface CalculateService {

    /**
     * 获取默认划款计划
     * @return 
     */
    public List<RepayPlanCal> getPlanList();

    /**
     * 默认还款计划列表(加入提前还款的)，适用于一次提前还款的
     *
     * @param earlyRepayDate 提前还款日期
     * @param earlyRepayTotal 提前还款(本息)合计金额
     * @return
     */
    public List<RepayPlanCal> getPlanListWithEarlyRepay(Date earlyRepayDate, BigDecimal earlyRepayTotal);

    /**
     * 已有还款计划列表(插入提前还款的)，适用多次提前还款的
     *
     * @param planList
     * @param earlyRepayDate 提前还款日期
     * @param earlyRepayTotal 提前还款(本息)合计金额
     * @return
     */
    public List<RepayPlanCal> getPlanListWithEarlyRepay(List<RepayPlanCal> planList, Date earlyRepayDate, BigDecimal earlyRepayTotal);

}
